____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Exposure Notification
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Das Exposure Notification Framework (ENF; deutsch „Expositionsbenachrichtigungs-Rahmenwerk“; auch Google/Apple Exposure Notification, GAENcite-ref-1[1]) ist ein von Apple und Google entwickeltes System, dessen Ziel die Reduzierung der Verbreitung von COVID-19 durch Contact-Tracing ist.cite-ref-2[2]cite-ref-0-3-0[3]cite-ref-4[4] Es stellt eine Programmierschnittstelle (API) bereit, über das offizielle Regierungsstellen wie Gesundheitsbehörden beziehungsweise von diesen beauftragte Dritte auf bereitgestellte Funktionen zugreifen können.cite-ref-0-3-1[3]cite-ref-5[5] Das ENF ist auf Betriebssystemebene in iOS und die Google-Play-Dienste eingebunden und ermöglicht den Austausch von Zufallsschlüsseln über Bluetooth Low Energy (BLE).cite-ref-6[6]
Contents
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Funktionsweise
Die hier beschriebene Funktionsweise des ENF basiert auf den Spezifikationen zur Kryptografie in der Version 1.2.cite-ref-1-7-0[7]
Zu Beginn des Key Schedules wird ein Temporary Exposure Key ( t e k i {\displaystyle tek_{i}} ) – ein 16-Byte-Schlüssel – mit einem Cryptographic Random Number Generator (CRNG) generiert. Generierte t e k i {\displaystyle tek_{i}} wechseln täglich und umfassen jeweils T E K R o l l i n g P e r i o d := 144 {\displaystyle TEKRollingPeriod:=144} ca. zehn-minütige Zeitintervalle der Form E N I n t e r v a l N u m b e r ( z ) = Z e i t s t e m p e l 60 × × 10 {\displaystyle ENIntervalNumber(z)={\frac {Zeitstempel}{60\times 10}}} mit Zeitangabe in Unixzeit. Die t e k i {\displaystyle tek_{i}} werden jeweils mit dem Startintervall i = ⌞ ⌞ E N I n t e r v a l N u m b e r ( S t a r t z e i t p u n k t ) T E K R o l l i n g P e r i o d ⌟ ⌟ × × T E K R o l l i n g P e r i o d {\displaystyle i=\llcorner {\frac {ENIntervalNumber(Startzeitpunkt)}{TEKRollingPeriod}}\lrcorner \times TEKRollingPeriod} assoziiert. Das ENF speichert die letzten 14 t e k i {\displaystyle tek_{i}} auf dem Endgerät ab.cite-ref-1-7-1[7]
Durch R P I K i = H K D F i ( t e k i , N U L L , U T F 8 ( ′ E N − − R P I K ′ ) , 16 ) {\displaystyle RPIK_{i}=HKDF_{i}(tek_{i},NULL,UTF8('EN-RPIK'),16)} und A E M K i = H K D F i ( t e k i , N U L L , U T F 8 ( ′ E N − − A E M K ′ ) , 16 ) {\displaystyle AEMK_{i}=HKDF_{i}(tek_{i},NULL,UTF8('EN-AEMK'),16)} ergeben sich die mit HKDF abgeleiteten Schlüssel Rolling Proximity Identifier Key ( R P I K i {\displaystyle RPIK_{i}} ) und Associated Encrypted Metadata Key ( A E M K i {\displaystyle AEMK_{i}} ). Für jedes der 144 zehn-minütigen Zeitintervalle können unter Verwendung des Advanced Encryption Standard (AES) durch R P I i , j = A E S 128 ( R P I K i , P a d d e d D a t a j ) {\displaystyle RPI_{i,j}=AES_{128}(RPIK_{i},PaddedData_{j})} Rolling Proximity Identifier ( R P I i , j {\displaystyle RPI_{i,j}} ) gebildet werden. P a d d e d D a t a j {\displaystyle PaddedData_{j}} besteht dabei aus U T F 8 ( ′ E N − − R P I ′ ) {\displaystyle UTF8('EN-RPI')} , 0 x 000000000000 {\displaystyle 0x000000000000} sowie E N I n t e r v a l N u m b e r ( j ) {\displaystyle ENIntervalNumber(j)} mit j {\displaystyle j} als Zeitpunkt der R P I i , j {\displaystyle RPI_{i,j}} -Erzeugung. Der R P I i , j {\displaystyle RPI_{i,j}} fließt dann als Initialisierungsvektor in die Verschlüsselung von Bluetooth-Daten wie der Protokollversion und Signalstärke mit AES im Counter Mode. Durch A E M i , j = A E S 128 − − C T R ( A E M K i , R P I i . j , M e t a d a t e n ) {\displaystyle AEM_{i,j}=AES_{128}-CTR(AEMK_{i},RPI_{i.j},Metadaten)} entsteht die Associated Encrypted Metadata ( A E M i , j {\displaystyle AEM_{i,j}} ). R P I i , j {\displaystyle RPI_{i,j}} und A E M i , j {\displaystyle AEM_{i,j}} wechseln parallel zur zufälligen BLE MAC-Adresse.cite-ref-1-7-2[7]cite-ref-8[8]
Die entstandenen R P I i , j {\displaystyle RPI_{i,j}} und A E M i , j {\displaystyle AEM_{i,j}} werden in einem Broadcast via Bluetooth an Geräte in der Umgebung verschickt. Zudem empfängt das Endgerät selbst die R P I i , j {\displaystyle RPI_{i,j}} und A E M i , j {\displaystyle AEM_{i,j}} anderer Geräte, die das ENF nutzen, und speichert diese ab.cite-ref-1-7-3[7]
Liegt ein bestätigtes positives Ergebnis eines COVID-19-Tests vor, können die t e k i {\displaystyle tek_{i}} der letzten 14 Tage mit den zugehörigen i {\displaystyle i} als Diagnosis Keys zu einem designierten Server hochgeladen werden, welcher die Schlüssel verwaltet und den Clients zur Verfügung stellt.cite-ref-1-7-4[7]
Die Clients können die Diagnosis Keys herunterladen und über die aufgeführten Schritte die R P I i , j {\displaystyle RPI_{i,j}} infizierter Personen generieren. Durch einen Vergleich der so generierten R P I i , j {\displaystyle RPI_{i,j}} mit den über Bluetooth gesammelten R P I i , j {\displaystyle RPI_{i,j}} lässt sich ermitteln, ob eine Übereinstimmung vorliegt. Ist dies der Fall, liegt ein Risikokontakt vor und die zugehörige A E M i , j {\displaystyle AEM_{i,j}} wird entschlüsselt, um eine Risikoeinschätzung zu ermöglichen.cite-ref-1-7-5[7]
Einstellung
Mitte Oktober 2023 hat Google das ENF aus Android entfernt. Die Änderung wurde mit Google Play Version 23.42 eingeführt.cite-ref-9[9]
Einzelnachweise
cite-note-11. ↑ Jaap-Henk Hoepman: A Critique of the Google Apple Exposure Notification (GAEN) Framework. 12. Januar 2021, abgerufen am 26. März 2021 (englisch).
cite-note-22. ↑ Privacy-Preserving Contact Tracing. Abgerufen am 25. März 2021 (englisch).
cite-note-0-33. ↑ Apple Developer Documentation - Exposure Notification. Abgerufen am 25. März 2021 (englisch).
cite-note-44. ↑ Exposure Notifications API. In: Google Developers. Archiviert vom Original am 5. Oktober 2023; abgerufen am 15. Januar 2025 (englisch, Leitfaden zur Benutzung von ENF in Android-Apps).
cite-note-55. ↑ Exposure Notification APIs Addendum. 5. April 2020, S. 1, abgerufen am 25. März 2021 (englisch).
cite-note-66. ↑ Bericht zur Datenschutzfolgeabschätzung für die Corona Warn App der Bundesrepublik Deutschland. Robert Koch-Institut, 2. März 2021, S. 15, abgerufen am 25. März 2021.
cite-note-1-77. ↑ Apple Inc., Google LLC: Exposure Notification Cryptography Specification. 2021, abgerufen am 26. März 2021 (englisch).
cite-note-88. ↑ Apple Inc., Google LLC: Exposure Notification Bluetooth Specification. 2021, abgerufen am 26. März 2021 (englisch).
cite-note-99. ↑ Google has removed Android’s COVID-19 exposure notification settings. 3. November 2023, abgerufen am 22. November 2024 (englisch).